Gire Public API (v2)
Customers of Gire can order Pickup and Delivery of cars (PUDs) using this API. The documentation should help you set up the integration. If you have any questions, reach out to tech@giremobility.com
Notice: New API Version Available
We encourage users to review our updated API for enhanced features and improved performance.
Auth Api Token
For using our API you need to be a customer of Gire
You can get your API token from your customer profile logged in as the main contact/administrator:
https://giremobility.com/customer/profile
Place the api token in header as: "x-api-token": <company api token>
We can also set up a dev environment for you for developing and testing. Please contact tech@giremobility.com
Create a new PUD
POST
https://giremobility.com/api/v2/puds
Create one Pickup and Delivery (PUD) in the Gire platform. This method is great if you need to move a car from A to B.
Headers
Request Body
{
"statusCode": 400,
"message": [
"company_name must be a string",
"customer_name must be a string",
"customer_phone must be a string",
"car_model must be a string",
"reg_number must be a string",
"pickup_address must be a string",
"delivery_address must be a string",
"pickup_datetime must be a valid ISO 8601 date string",
"delivery_datetime must be a valid ISO 8601 date string"
],
"timestamp": "2022-10-18T09:44:03.160Z",
"path": "/api/v2/puds/",
"requestId": "ca5f2063-1f6d-4fac-81d2-fed965297719"
}
{
"id": "797f4cc1-c687-44e3-bb68-081997db8cba",
"status": "new",
"pickup_address": "Pilestredet Park 12A, Oslo",
"delivery_address": "Karl Johans gate 12, Oslo",
"pickup_postal_code": "0101",
"delivery_postal_code": "1007",
"car_model": "Ferrari",
"reg_number": "MB1234K",
"company_name": "Car Rentarls",
"customer_name": "John Doe",
"customer_phone": "420000001",
"pickup_name": "Tor Fergunsen",
"pickup_phone": "420000002",
"pickup_datetime_from": "2022-10-25T13:00:00.000Z",
"pickup_datetime_to": "2022-10-25T15:00:00.000Z",
"delivery_datetime": "2022-10-25T15:00:00.000Z",
"created_at": "2022-10-18T09:55:10.076Z",
"reference_number": "ref-number-123",
"region": "no",
"price": 390
"out_of_area": false
}
{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2022-10-18T10:09:39.845Z",
"path": "/api/v2/puds/",
"requestId": "cf875425-f257-4f18-8696-1894eda9a5db"
}
Create new PUD body example
{
"pickup_address": "Pilestredet Park 12A, Oslo",
"pickup_comment": "parking on the 2nd floor",
"delivery_address": "Karl Johans gate 12, Oslo",
"pickup_comment": "parking on the 2nd floor",
"pickup_postal_code": "0176",
"delivery_postal_code": "0154",
"car_model": "Ferrari",
"reg_number": "MB1234K",
"customer_name": "John Doe",
"customer_phone": "420000001",
"pickup_name": "Tor Fergunsen",
"pickup_phone": "420000002",
"delivery_name": "John Wick",
"delivery_phone": "420000003",
"pickup_datetime_from": "2023-10-25T13:00:00.000Z",
"pickup_datetime_to":"2023-10-25T15:00:00.000Z",
"delivery_datetime": "2023-10-25T18:00:00.000Z",
"reference_number": "ref-number-123"
}
Some restrictions you should follow to make sure that your PUD will be placed:
pickup_datetime_from must be forward from now (in the feature)
pickup_datetime_to must be at least 4 hours forward from now
pickup_datetime_to must be at least 1 hour forward from pickup_datetime_from
delivery_datetime must be equal or forward from pickup_datetime_to
delivery_datetime should be at least 1 hour forward from pickup_datetime_from
Opening hours
With Gire you can get you car transported the same day as you place the order every day of the week
You can book PUDs with pickup and delivery times within our opening hours 06:00-22:00 every day
On same day booking, the delivery datetime has to be at least 4 hours forward from current datetime
We need 1 hour timeslot for pickup time. Eg. you can book a PUD with Pickup time 08:00-09:00 and delivery time 09:00
Status Values
Status field can have next values:
- new
- delegated
- in_progress
- completed
- cancelled
- missed_trip
Why price = null ?
Usually the price is calculated automatically during PUD creation
But if we can't find the adresses, or we cant automatically find a public transport route to the location, we will set the price = null. Please contact us with more information regarding the PUD and we will manually set a price.
Gire Norway - hei@giremobility.com
Gire Sweden - hejsan@giremobility.com
Gire Denmark - hej@giremobility.com
Standard Delivery Areas
Gires standard delivery areas are based around the cities listed below. This is where we have our driver bases and predefined prices based on zip codes. In the standard delivery areas we have a 4 hour delivery guarantee for same day bookings, and 1 hour guarantee for next day booking. Standard Delivery Areas:
Oslo
Bergen
Trondheim
Stavanger
Kristiansand
Stockholm
Copenhagen
We do also pickup and deliver cars outside of these area, but the prices are calculated by an algorithm that is based on travel time for the drivers. Also, we need 0-3 days to deliver on PUDs outside of our standard delivery area.
Get PUD by ID
GET
https://giremobility.com/api/v2/puds/{:id}
Path Parameters
Headers
{
"id": "5089a053-a43d-4a82-a861-4174783a5bcc",
"status": "completed",
"pickup_address": "Henrik Ibsens gate 1, Oslo",
"pickup_comment": "parking on the 2nd floor",
"delivery_address": "Tryvannstårnet, Oslo",
"delivery_comment": "parking on the 2nd floor",
"pickup_postal_code": "0255",
"delivery_postal_code": "0782",
"car_model": "Car Model",
"reg_number": "AA12345",
"company_name": "Car Service Company",
"customer_name": "John Smith",
"customer_phone": "+47111111111111",
"pickup_name": "Kari Nordmann",
"pickup_phone": "+4722222222222",
"delivery_name": "John Wick",
"delivery_phone": "+472244444444",
"comment": "Here you can write extra information to the driver",
"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
"delivery_datetime": "2022-10-28T13:00:00.000Z",
"created_at": "2022-10-28T08:40:12.279Z",
"reference_number": "",
"post_drive_comment": "Driver comment post-trip",
"pre_drive_comment": "Driver comment pre-trip",
"started": "2022-10-28T08:48:56.000Z",
"ended": "2022-10-28T08:48:58.000Z",
"pre_drive_mileage": 950,
"post_driver_mileage": 954,
"region": "no",
"price": 390,
"driver_name": "Test Tester",
"driver_phone": "+47123456789",
"driver_photo": "",
"pre_drive_photos": [
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/5377cc50-8cfc-4365-8bb2-58601b23270d.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/5377cc50-8cfc-4365-8bb2-58601b23270d.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/c6444003-43a5-4727-bc51-fb507b72ead8.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/c6444003-43a5-4727-bc51-fb507b72ead8.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/cb3a35fa-9beb-4de0-a574-28cf2f11fba1.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/cb3a35fa-9beb-4de0-a574-28cf2f11fba1.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/853e076d-f71f-4a08-b124-4a85be98581c.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/853e076d-f71f-4a08-b124-4a85be98581c.thumb.200.jpg"
}
],
"post_drive_photos": [
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/afe83b72-c0f0-43fc-ba96-4a608475a4f1.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/afe83b72-c0f0-43fc-ba96-4a608475a4f1.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/52c53bc4-57c1-4717-94e9-d3beaff2d470.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/52c53bc4-57c1-4717-94e9-d3beaff2d470.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/0eff59eb-5253-4d4e-a90b-18a0a95a074e.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/0eff59eb-5253-4d4e-a90b-18a0a95a074e.thumb.200.jpg"
},
{
"origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/40580227-5ad6-44da-a21c-c04332cb1b24.origin.jpg",
"thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/40580227-5ad6-44da-a21c-c04332cb1b24.thumb.200.jpg"
}
]
}
{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2022-10-18T10:09:39.845Z",
"path": "/api/v2/puds/",
"requestId": "cf875425-f257-4f18-8696-1894eda9a5db"
}
{
"statusCode": 404,
"message": "Job with id \"k72S9jQc19AzPxqRbV38\" was not found",
"timestamp": "2022-10-18T10:18:54.546Z",
"path": "/api/v2/puds/k72S9jQc19AzPxqRbV38",
"requestId": "cdb46081-3717-409e-b1df-0a6aff987df4"
}
{
"statusCode": 401,
"message": "The order doesn't belong to the customer",
"timestamp": "2022-10-18T10:44:13.126Z",
"path": "/api/v2/puds/e8a66174-0ce8-4f1c-9f5b-330af1e2649c",
"requestId": "bd10d731-8e1e-4ed7-804c-4f9711a07214"
}
Edit PUD
PUT
https://giremobility.com/api/v2/puds
You can change the contact information and car data in the PUD before it starts
Request Body
{
"id": "5089a053-a43d-4a82-a861-4174783a5bcc",
"status": "completed",
"pickup_address": "Henrik Ibsens gate 1, Oslo",
"pickup_comment": "parking on the 2nd floor",
"delivery_address": "Tryvannstårnet, Oslo",
"delivery_comment": "parking on the 2nd floor",
"pickup_postal_code": "0255",
"delivery_postal_code": "0782",
"car_model": "Car Model",
"reg_number": "AA12345",
"company_name": "Car Service Company",
"customer_name": "John Smith",
"customer_phone": "+47111111111111",
"pickup_name": "Kari Nordmann",
"pickup_phone": "+4722222222222",
"comment": "Here you can write extra information to the driver",
"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
"delivery_datetime": "2022-10-28T13:00:00.000Z",
"created_at": "2022-10-28T08:40:12.279Z",
"reference_number": "",
"post_drive_comment": "Driver comment post-trip",
"pre_drive_comment": "Driver comment pre-trip",
"started": "2022-10-28T08:48:56.000Z",
"ended": "2022-10-28T08:48:58.000Z",
"pre_drive_mileage": 950,
"post_driver_mileage": 954,
"region": "no",
"price": 390,
"driver_name": "Test Tester",
"driver_phone": "+47123456789",
"driver_photo": "",
}
{
// Response
}
{
"statusCode": 400,
"message": "Can not be modified, PUD is already started",
"timestamp": "2023-01-30T15:51:37.784Z",
"path": "/api/v2/puds",
"requestId": "8b6eca49-2fcf-4964-8088-149466811e6c"
}
Get list of PUDs
GET
https://giremobility.com/api/v2/puds
Query Parameters
Headers
{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2022-10-20T13:55:53.584Z",
"path": "/api/v2/puds",
"requestId": "4ba423b7-e85f-4148-91c3-59344cbf4b9d"
}
[
{
"id": "5089a053-a43d-4a82-a861-4174783a5bcc",
"status": "completed",
"pickup_address": "Henrik Ibsens gate 1, Oslo",
"pickup_comment": "parking on the 2nd floor",
"delivery_address": "Tryvannstårnet, Oslo",
"delivery_comment": "parking on the 2nd floor",
"pickup_postal_code": "0255",
"delivery_postal_code": "0782",
"car_model": "Car Model",
"reg_number": "AA12345",
"test_sign": true,
"company_name": "Car Service Company",
"customer_name": "John Smith",
"customer_phone": "+47111111111111",
"pickup_name": "Kari Nordmann",
"pickup_phone": "+4722222222222",
"comment": "Here you can write extra information to the driver",
"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
"delivery_datetime": "2022-10-28T13:00:00.000Z",
"created_at": "2022-10-28T08:40:12.279Z",
"reference_number": "",
"post_drive_comment": "Driver comment post-trip",
"pre_drive_comment": "Driver comment pre-trip",
"started": "2022-10-28T08:48:56.000Z",
"ended": "2022-10-28T08:48:58.000Z",
"pre_drive_mileage": 950,
"post_driver_mileage": 954,
"region": "no",
"price": 390,
"driver_name": "Test Tester",
"driver_phone": "+47123456789",
"driver_photo": ""
},
{
"id": "00520ce5-3520-419f-be6c-5ea186a7f5c2",
"status": "completed",
"pickup_address": "Tryvannstårnet, Oslo",
"pickup_comment": "parking on the 2nd floor",
"delivery_address": "Henrik Ibsens gate 1, Oslo",
"delivery_comment": "parking on the 2nd floor",
"pickup_postal_code": "0782",
"delivery_postal_code": "0255",
"car_model": "Car Model",
"reg_number": "AA12345",
"company_name": "Car Service Company",
"customer_name": "John Smith",
"customer_phone": "+47111111111111",
"pickup_name": "Kari Nordmann",
"pickup_phone": "+4722222222222",
"comment": "Here you can write extra information to the driver",
"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
"delivery_datetime": "2022-10-28T13:00:00.000Z",
"created_at": "2022-10-28T08:40:41.202Z",
"reference_number": "",
"post_drive_comment": "",
"pre_drive_comment": "",
"started": "2022-10-28T08:50:39.000Z",
"ended": "2022-10-28T08:50:41.000Z",
"pre_drive_mileage": 10450,
"post_driver_mileage": 10459,
"region": "no",
"price": 390,
"driver_name": "Test Tester",
"driver_phone": "+47123456789",
"driver_photo": ""
}
]
Get list PUDs query params example:
https://giremobiliy.com/api/v2/puds/?status=completed
&limit=10&page=0&month=1&year=2022&sort_by=pickup_datetime&sort_order=-1
Get count of PUDs for selected filters, returns number
GET
https://giremobility.com/api/v2/puds_qty
This method is needed for pagination
Query Parameters
Headers
{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2022-10-20T13:55:53.584Z",
"path": "/api/v2/puds",
"requestId": "4ba423b7-e85f-4148-91c3-59344cbf4b9d"
}
42
Get count of PUDs query params example:
https://giremobility.com/api/v2/puds_qty/?status=completed&month=1&year=2022
PUD Cancellation
DELETE
https://giremobility.com/api/v2/puds/{:id}
You might need to cancel a PUD either because you don't longer need transportation, or you have booked a PUD with the wrong details and you need to create a new PUD with correct details.
To cancel a PUD it needs to have one of the two statuses:
-new
-delegated
Also, if pickup datetime is less than 12 hours from current datetime and the PUD is delegated to a driver, it will be considered as "missed_trip" and you will be charged.
Path Parameters
Headers
{
"statusCode": 400,
"message": "Order can not be cancelled. It has \"completed\" status",
"timestamp": "2022-10-18T11:06:45.822Z",
"path": "/api/v2/puds/e8a66174-0ce8-4f1c-9f5b-330af1e2649c",
"requestId": "d15e3779-1af1-412d-8db8-b96454d47432"
}
{
"statusCode": 401,
"message": "The order doesn't belong to the customer",
"timestamp": "2022-10-18T11:11:44.180Z",
"path": "/api/v2/puds/e8a66174-0ce8-4f1c-9f5b-330af1e2649c",
"requestId": "f095e300-aea2-497a-b539-85eb2123a494"
}
{
"id": "58cd8b2f-8e40-4d54-9a6f-07d8d77fab53",
"status": "cancelled",
"pickup_address": "Pilestredet Park 12A, Oslo",
"delivery_address": "Karl Johans gate 12, Oslo",
"pickup_postal_code": "0101",
"delivery_postal_code": "1007",
"car_model": "Ferrari",
"reg_number": "MB1234K",
"company_name": "Car Rentarls",
"customer_name": "John Doe",
"customer_phone": "420000001",
"pickup_name": "Tor Fergunsen",
"pickup_phone": "420000002",
"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
"delivery_datetime": "2022-10-28T13:00:00.000Z",
"created_at": "2022-10-18T11:13:56.022Z",
"reference_number": "ref-number-123",
"canceled_at": "2022-10-18T11:14:16.051Z",
"region": "dk",
"price": 0
}
Price Estimation
GET
https://giremobility.com/api/v2/price_estimation
Returns the price for trips inside and outside our standard delivery area. Inside our standard delivery area the prices are fixed based on zip codes. For trips outside, the price is only an estimate and it might have smaller variation based on travel time.
Query Parameters
Headers
{
price: 490,
out_of_area: false,
duration_in_seconds: 420,
distance_in_meters: 420,
immediate_return: false
}
{
// Response
}
{
"statusCode": 400,
"message": "Missing required query param: 'pickup_timestamp'",
"timestamp": "2022-10-25T09:32:07.825Z",
"path": "/api/v2/price_estimation?pickup_postal_code=1300&delivery_postal_code=1310",
"requestId": "369fc309-f556-4691-8655-ef4c3b8e10af"
}
{
price: 14929,
out_of_area: true,
duration_in_seconds: 81327, // This is for one leg
distance_in_meters: 1747790, // This is for one leg
immediate_return: true
}
{
"statusCode": 400,
"message": "Partial address match - please check the addresses and try again.",
"timestamp": "2024-02-19T08:47:43.956Z",
"path": "/api/v2/price_estimation?delivery_address=Flyplassvegegfdgdfgn%2031&delivery_postal_code=9016&pickup_address=m%C3%B8llergata%2015&pickup_postal_code=0159&immediate_return=true",
"requestId": "897b69b9-9628-4271-b8fe-3a40a9f0f374"
}
NOTE: For immediate_return bookings, the duration_in_seconds and distance_in_meters is for one direction.
Price Estimation query params example:
https://giremobility.com/api/v2/price_estimation?pickup_postal_code=5258&delivery_postal_code=0655&delivery_address=flypassvegen 555&pickup_address=ensjøveien11
Note: Please don't forget to use url encoding when you send any text as query params (like search, address etc)
We can also set up a dev environment for you for developing and testing. Please contact tech@giremobility.com
Last updated